

# pages/settings.py - 设置页面
import streamlit as st
from st_pages import add_page_title

# 检查认证状态
if 'authentication_status' not in st.session_state or not st.session_state.authentication_status:
    st.error("请先登录!")
    st.stop()

add_page_title()

st.markdown("### ⚙️ 应用设置")

# 设置选项卡
tab1, tab2, tab3 = st.tabs(["界面设置", "通知设置", "数据设置"])

with tab1:
    st.subheader("🎨 界面自定义")
    
    col1, col2 = st.columns(2)
    
    with col1:
        theme = st.selectbox(
            "选择主题",
            ["浅色主题", "深色主题", "自动"],
            index=0
        )
        
        language = st.selectbox(
            "语言设置",
            ["中文", "English", "日本語"],
            index=0
        )
    
    with col2:
        sidebar_state = st.selectbox(
            "侧边栏默认状态",
            ["展开", "折叠"],
            index=0
        )
        
        page_layout = st.selectbox(
            "页面布局",
            ["宽屏", "居中", "紧凑"],
            index=0
        )
    
    # 颜色主题设置
    st.subheader("🌈 颜色设置")
    
    primary_color = st.color_picker("主色调", "#1f77b4")
    secondary_color = st.color_picker("辅助色", "#ff7f0e")
    
    if st.button("应用界面设置"):
        st.success("界面设置已保存!")

with tab2:
    st.subheader("🔔 通知偏好")
    
    email_notifications = st.checkbox("启用邮件通知", value=True)
    push_notifications = st.checkbox("启用推送通知", value=False)
    sms_notifications = st.checkbox("启用短信通知", value=False)
    
    st.subheader("📢 通知类型")
    
    col1, col2 = st.columns(2)
    
    with col1:
        data_updates = st.checkbox("数据更新通知", value=True)
        system_alerts = st.checkbox("系统警报", value=True)
        maintenance = st.checkbox("维护通知", value=True)
    
    with col2:
        weekly_reports = st.checkbox("周报", value=False)
        monthly_summary = st.checkbox("月度总结", value=False)
        security_alerts = st.checkbox("安全警报", value=True)
    
    # 通知时间设置
    st.subheader("⏰ 通知时间")
    
    notification_time = st.time_input("每日通知时间", value=None)
    
    if st.button("保存通知设置"):
        st.success("通知设置已保存!")

with tab3:
    st.subheader("💾 数据管理")
    
    # 数据备份设置
    backup_frequency = st.selectbox(
        "自动备份频率",
        ["从不", "每天", "每周", "每月"],
        index=2
    )
    
    max_file_size = st.slider(
        "最大文件上传大小 (MB)",
        min_value=1,
        max_value=100,
        value=10
    )
    
    # 数据保留设置
    st.subheader("🗂️ 数据保留")
    
    data_retention = st.selectbox(
        "数据保留期",
        ["1个月", "3个月", "6个月", "1年", "永久"],
        index=3
    )
    
    # 导出设置
    st.subheader("📤 导出设置")
    
    col1, col2 = st.columns(2)
    
    with col1:
        export_format = st.multiselect(
            "支持的导出格式",
            ["CSV", "Excel", "JSON", "PDF"],
            default=["CSV", "Excel"]
        )
    
    with col2:
        compression = st.checkbox("压缩导出文件", value=True)
        include_metadata = st.checkbox("包含元数据", value=False)
    
    if st.button("保存数据设置"):
        st.success("数据设置已保存!")

# 重置设置
st.divider()
st.subheader("🔄 重置设置")
st.warning("此操作将恢复所有设置到默认值")

if st.button("恢复默认设置", type="secondary"):
    if st.confirm("确定要恢复所有默认设置吗？"):
        st.success("设置已恢复到默认值!")